Inside Macintosh: QuickTime Components

Previous | Chapter Top | Chapter Contents | Next

The Buffer List Structure

If you are using more than one asynchronous output buffer, you must define the output buffers to the video digitizer component. You define these output buffers by calling the VDSetupBuffers function (described on VDSetupBuffers ). You specify the buffers to that function in a buffer list structure. Note that all the output buffers must be the same size and must accommodate output rectangles of the same dimensions.

The VdigBufferRecList data type defines a buffer list structure.

struct VdigBufferRecList {
    short                   count;      /* number of buffers defined by
                                            this structure */
    MatrixRecordPtr         matrix;     /* tranformation matrix applied to
                                            destination rectangles before
                                            video image is displayed */
    RgnHandle               mask;       /* clipping region applied to
                                            destination rectangle before
                                            video image is displayed */
    VdigBufferRec           list[1];    /* array of output buffer
                                            specifications */
};
count
Specifies the number of buffers defined by this structure. The value of this field must correspond to the number of entries in the list array.
matrix
Specifies the transformation matrix that is applied to all of the destination rectangles before the video image is displayed. You must specify a matrix. If you do not want to perform any transformations, use the identity matrix.
mask
Specifies a clipping region that is applied to the destination rectangle before the video image is displayed. Note that this region applies to only the first destination buffer. If you want the region to apply to all of your destination buffers, you must do this yourself. For example, you can use QuickDraw's OffsetRgn function, which is described in the chapter "Basic QuickDraw" in Inside Macintosh: Imaging . If you do not want to specify a clipping region, set this field to nil .
list
Contains an array of output buffer specifications. Each buffer is represented by a buffer structure. The format and content of this structure are described in the next section.

© 1997 Apple Computer, Inc.

Previous | Chapter Top | Chapter Contents | Next